﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;

namespace EasyTrader.Form
{
    public partial class SignalSourceFrm : System.Windows.Forms.Form
    {
        public SignalSourceFrm()
        {
            InitializeComponent();
            InitControl();
        }

        private void InitControl()
        {
            if (GlobalVar.KospiForeignPersonEnable == true)
            {
                cbKospiForeignPerson.Checked = true;
            }
            else
            {
                cbKospiForeignPerson.Checked = false;
            }

            if (GlobalVar.KospiOrganPersonEnable == true)
            {
                cbKospiOrganPerson.Checked = true;
            }
            else
            {
                cbKospiOrganPerson.Checked = false;
            }

            if (GlobalVar.FutureForeignEnable == true)
            {
                cbFutureForeign.Checked = true;
            }
            else
            {
                cbFutureForeign.Checked = false;
            }

            if (GlobalVar.OptionPersonCallPutEnable == true)
            {
                cbOptionPersonCallPut.Checked = true;
            }
            else
            {
                cbOptionPersonCallPut.Checked = false;
            }

            if (GlobalVar.KospiProgramEnable == true)
            {
                cbKospiProgram.Checked = true;
            }
            else
            {
                cbKospiProgram.Checked = false;
            }

            if (GlobalVar.HogaBuySellEnable == true)
            {
                cbHogaBuySell.Checked = true;
            }
            else
            {
                cbHogaBuySell.Checked = false;
            }

            if (GlobalVar.HogaBidAskEnable == true)
            {
                cbHogaBidAsk.Checked = true;
            }
            else
            {
                cbHogaBidAsk.Checked = false;
            }

            if (GlobalVar.WaveEnable == true)
            {
                cbWave.Checked = true;
            }
            else
            {
                cbWave.Checked = false;
            }

            if (GlobalVar.ForecastEnable == true)
            {
                cbForecast.Checked = true;
            }
            else
            {
                cbForecast.Checked = false;
            }

            if (GlobalVar.HighLowEnable == true)
            {
                cbHighLow.Checked = true;
            }
            else
            {
                cbHighLow.Checked = false;
            }

            if (GlobalVar.WorldEnable == true)
            {
                cbWorld.Checked = true;
            }
            else
            {
                cbWorld.Checked = false;
            }

            if (GlobalVar.DJIEnable == true)
            {
                cbDJIEnable.Checked = true;
            }
            else
            {
                cbDJIEnable.Checked = false;
            }

            if (GlobalVar.NASDAQEnable == true)
            {
                cbNASDAQEnable.Checked = true;
            }
            else
            {
                cbNASDAQEnable.Checked = false;
            }

            if (GlobalVar.SNP500Enable == true)
            {
                cbSNP500Enable.Checked = true;
            }
            else
            {
                cbSNP500Enable.Checked = false;
            }

            if (GlobalVar.DAXEnable == true)
            {
                cbDAXEnable.Checked = true;
            }
            else
            {
                cbDAXEnable.Checked = false;
            }

            if (GlobalVar.CACEnable == true)
            {
                cbCACEnable.Checked = true;
            }
            else
            {
                cbCACEnable.Checked = false;
            }

            if (GlobalVar.FTSEEnable == true)
            {
                cbFTSEEnable.Checked = true;
            }
            else
            {
                cbFTSEEnable.Checked = false;
            }
        }

        private void cbKospiForeignPerson_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbKospiForeignPerson.Checked == true)
            {
                selText = "True";
                GlobalVar.KospiForeignPersonEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.KospiForeignPersonEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("KospiForeignPersonEnable", selText);
        }

        private void cbKospiOrganPerson_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbKospiOrganPerson.Checked == true)
            {
                selText = "True";
                GlobalVar.KospiOrganPersonEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.KospiOrganPersonEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("KospiOrganPersonEnable", selText);
        }

        private void cbFutureForeign_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbFutureForeign.Checked == true)
            {
                selText = "True";
                GlobalVar.FutureForeignEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.FutureForeignEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FutureForeignEnable", selText);
        }

        private void cbOptionPersonCallPut_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbOptionPersonCallPut.Checked == true)
            {
                selText = "True";
                GlobalVar.OptionPersonCallPutEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.OptionPersonCallPutEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("OptionPersonCallPutEnable", selText);
        }

        private void cbKospiProgram_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbKospiProgram.Checked == true)
            {
                selText = "True";
                GlobalVar.KospiProgramEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.KospiProgramEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("KospiProgramEnable", selText);
        }

        private void cbHogaBuySell_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbHogaBuySell.Checked == true)
            {
                selText = "True";
                GlobalVar.HogaBuySellEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.HogaBuySellEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("HogaBuySellEnable", selText);
        }

        private void cbHogaBidAsk_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbHogaBidAsk.Checked == true)
            {
                selText = "True";
                GlobalVar.HogaBidAskEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.HogaBidAskEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("HogaBidAskEnable", selText);
        }

        private void cbWave_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbWave.Checked == true)
            {
                selText = "True";
                GlobalVar.WaveEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.WaveEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("WaveEnable", selText);
        }

        private void cbForecast_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbForecast.Checked == true)
            {
                selText = "True";
                GlobalVar.ForecastEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.ForecastEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("ForecastEnable", selText);
        }

        private void cbHighLow_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbHighLow.Checked == true)
            {
                selText = "True";
                GlobalVar.HighLowEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.HighLowEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("HighLowEnable", selText);
        }

        private void cbWorld_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbWorld.Checked == true)
            {
                selText = "True";
                GlobalVar.WorldEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.WorldEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("WorldEnable", selText);
        }

        private void SignalSourceFrm_Load(object sender, EventArgs e)
        {

        }

        private void cbDJIEnable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbDJIEnable.Checked == true)
            {
                selText = "True";
                GlobalVar.DJIEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.DJIEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("DJIEnable", selText);
        }

        private void cbNASDAQEnable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbNASDAQEnable.Checked == true)
            {
                selText = "True";
                GlobalVar.NASDAQEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.NASDAQEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("NASDAQEnable", selText);
        }

        private void cbSNP500Enable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbSNP500Enable.Checked == true)
            {
                selText = "True";
                GlobalVar.SNP500Enable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.SNP500Enable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("SNP500Enable", selText);
        }

        private void cbDAXEnable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbDAXEnable.Checked == true)
            {
                selText = "True";
                GlobalVar.DAXEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.DAXEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("DAXEnable", selText);
        }

        private void cbCACEnable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbCACEnable.Checked == true)
            {
                selText = "True";
                GlobalVar.CACEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.CACEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("CACEnable", selText);
        }

        private void cbFTSEEnable_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbFTSEEnable.Checked == true)
            {
                selText = "True";
                GlobalVar.FTSEEnable = true;
            }
            else
            {
                selText = "False";
                GlobalVar.FTSEEnable = false;
            }


            string regSubkey = "Software\\EasyTrader\\SignalSource";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FTSEEnable", selText);
        }
    }
}
